package com.utils;/*
 *
 *作者：张继成
 *任务：
 *
 *备注：返回消息统一规定
 *@Date2023/05/22/9:08
 ***/

import java.util.HashMap;
import java.util.Map;

public class R extends HashMap<String , Object> {
    private static final long serialVersionUID =1L;//serialVersionUID用作Serializable类中的版本控件。

    public R(){
        put("code",0);
    }

    /*
     * 传入code码,规定错误码以及正确码
     * 传入msg字符，规定R返回消息
     * */
    public static R error(int code, String msg) {
        R r=new R();
        r.put("code",code);
        r.put("msg",msg);
        return r;
    }

    /*
    * 返回错误消息
    * */
    public static R error() {
        return error(500, "未知异常，请联系管理员");
    }

    //字符型返回错误
    public static R error(String msg) {
        return error(500, msg);
    }
    /*
     * 传入code码,规定错误码以及正确码
     * 传入msg字符，规定R返回消息
     * Map是一个接口，即Interface Map<K,V>，其中K-key类型和V-value的类型
     * */
    public static R ok(Map<String,Object>map){
        R r=new R();
        // putAll用途：将指定的Map集合添加到现有的Map集合当中
        r.putAll(map);
        return r;
    }
    public static R ok(String msg) {
        R r = new R();
        r.put("msg", msg);
        return r;
    }

    /*
    * 返回正确的通用R类
    * */
    public static R ok(){
        return new R();
    }


    /*
    * 弹出正确的code，以及它的字符
    * */
    public R put(String key,Object value){
        super.put(key,value);
        return  this;
    }



}
